package com.example.mapper;


import com.example.pojo.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 描述
 *
 * @Author xulitao
 * @Date 2022/3/7
 * @Version 1.0
 */
@Mapper
@Repository
public interface CourseResultDao {

    List<CourseResultEntity> queryList(@Param("stuScoreVo") StuScoreVo stuScoreVo, @Param("pageIndex")Integer pageIndex, @Param("pageSize")Integer pageSize);

    Integer queryScoreNum(@Param("stuScoreVo")StuScoreVo stuScoreVo);

    List<StudentVo> queryStu();

    List<SubjectVo> getAllSubject();

    void insertStuScore( @Param("list") List<CourseResultEntity> list);

    void updateStuScore(CourseResultEntity entity);

    void delStuScore(CourseResultEntity entity);

    void insertWorkFinish(@Param("list") List<WordFinishVo> list);

    void updateWorkFinish(WordFinishVo entity);

    void delWorkFinish(WordFinishVo entity);

    List<WorkFinishEntity> getWorkFinish(@Param("wordFinishVo")WordFinishVo wordFinishVo, @Param("pageIndex")Integer pageIndex,@Param("pageSize")Integer pageSize);

    Integer getWorkFinishNum(@Param("wordFinishVo")WordFinishVo wordFinishVo);

    void insertPlayStation(@Param("vo") AskAnswerVo vo);

    void updatePlayStation(AskAnswerVo entity);

    void delPlayStation(@Param("list") List<String> list);

    List<AskAnswerEntity> getPlayStation(@Param("askAnswerEntity") AskAnswerEntity askAnswerEntity, @Param("pageIndex") Integer pageIndex,
                                         @Param("pageSize") Integer pageSize);

    Integer getPlayStationNUm(@Param("askAnswerEntity") AskAnswerEntity askAnswerEntity);


    Integer selectNumByCourse(@Param("courseTableEntity") CourseTableEntity courseTableEntity);

    List<CourseTableEntity> selectPageByCourse(@Param("pageIndex") Integer pageIndex, @Param("pageSize") Integer pageSize,
                                               @Param("courseTableEntity") CourseTableEntity courseTableEntity);

    void delCourseTable(@Param("list") List<String> list);

    Integer selectNumByJob(@Param("jobTableEntity") JobTableEntity jobTableEntity);

    List<JobTableEntity> selectPageByJob(@Param("pageIndex") Integer pageIndex, @Param("pageSize") Integer pageSize,
                                         @Param("jobTableEntity") JobTableEntity jobTableEntity);

    void delJobTable(@Param("list") List<String> list);

    void delAllCourseTable(Long userId);

    void delAllJob(Long userId);
}
